#include "VS_Inputs.hlsl"
#include "VS_Outputs.hlsl"
#include "ConstantBuffers.hlsl"

VS_OUTPUT_POS_COLOUR BasicVS_modelobject( VS_INPUT_POS_COLOUR dataIn )
{
	VS_OUTPUT_POS_COLOUR result;

	result.vPosition = mul(float4(dataIn.vPosition, 1.0f), World);
	result.vPosition = mul(result.vPosition, View);
	result.vPosition = mul(result.vPosition, Projection);
	result.vColour = dataIn.vColour;
	
	return result;
}
/*
VS_OUTPUT_POS_COLOUR_NORMAL BasicVS_terrain( VS_INPUT_POS_COLOUR_NORMAL dataIn )
{
	VS_OUTPUT_POS_COLOUR_NORMAL result;
	
//	result.vPosition = float4(dataIn.vPosition, 1.0f);
	result.vPosition = mul(float4(dataIn.vPosition, 1.0f), World);
	result.vPosition = mul(result.vPosition, View);
	result.vPosition = mul(result.vPosition, Projection);
	result.vColour = dataIn.vColour;
	result.vNormal = dataIn.vNormal;
	
	return result;
}
*/
VS_OUTPUT_POS_MULTI_TEX BasicVS_terrain( VS_INPUT_POS_MULTI_TEX dataIn )
{
	VS_OUTPUT_POS_MULTI_TEX result = (VS_OUTPUT_POS_MULTI_TEX)0;

//	result.vPosition = float4(dataIn.vPosition, 1.0f);	
	result.vPosition = mul(float4(dataIn.vPosition, 1.0f), World);
	result.vPosition = mul(result.vPosition, View);
	result.vPosition = mul(result.vPosition, Projection);
	result.vTexCoords = dataIn.vTexCoords;
	result.vTexWeights = dataIn.vTexWeights;

	return result;
}
